package com.ruoyi.business.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;
import java.io.Serializable;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author Ao
 * @since 2024-01-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Orders implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 下单时间
     */
    private LocalDateTime createTime;

    /**
     * 下单用户账号
     */
    private String userid;

    /**
     * 订单民宿编号
     */
    private Long homestayid;

    /**
     * 民宿名称
     */
    private String homestayName;

    /**
     * 特色商品关联的房间订单
     */
    private Long roomOrderid;

    /**
     * 下单商品类型（0为房间，1为特色）
     */
    private Integer goodsType;

    /**
     * 商品编号（房间编号或者特色编号）
     */
    private Long goodsid;

    /**
     * 商品名称
     */
    private String goodsName;

    /**
     * 商品价格
     */
    private Long goodsPrice;

    /**
     * 订单类型（预定未付款10，预定已付款为11,退款中30,退款完成31 已完成 21）
     */
    private Integer orderType;

    /**
     * 已付金额
     */
    private Long amountPaid;

    /**
     * 房间入住/特色体验时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 房间数量/特色体验人数
     */
    private Integer goodsNum;

    /**
     * 是否使用优惠券（0没有，1有）
     */
    private Integer isUseCoupon;

    /**
     * 优惠券数量
     */
    private Long couponid;

    /**
     * 单个优惠券金额
     */
    private Long couponSubsidy;

    /**
     * 优惠券数量
     */
    private Integer couponNum;

    /**
     * 用户名字
     */
    private String username;

    /**
     * 用户电话
     */
    private String tele;

    /**
     * 订单状态(预定订单1，已完成订单2，退款订单3)
     */
    private Integer orderStatus;


    /**
     * 评分
     */
    private Float score;

    /**
     * 商品图片
     */

    private String picture;


    /**
     * 退款原因
     */
    private String reason;


    @TableField(exist = false)
    private Float totalPrice;

}
